package com.maiji.cloud.service;

import com.maiji.cloud.entities.community.ComUserRelation;
import com.baomidou.mybatisplus.service.IService;
import com.maiji.cloud.request.BaseInputDto;
import com.maiji.cloud.request.IdInputDto;
import com.maiji.cloud.request.community.ComUserRelationInputDto;
import com.maiji.cloud.response.BaseOutPutDto;
import com.maiji.cloud.response.login.UserInfoResData;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;

import java.util.List;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ${author}
 * @since 2019-07-04
 */
public interface ComUserRelationService extends IService<ComUserRelation>{

    /**
     * 关注用户
     * @param inputDto
     * @param maijiToken
     * @return
     */
    public BaseOutPutDto<String> focusUser(@RequestBody BaseInputDto<IdInputDto> inputDto, @RequestHeader("maijiToken")String maijiToken);



    /**
     * 取消关注用户
     * @param inputDto
     * @param maijiToken
     * @return
     */
    public BaseOutPutDto<String> cancelFocusUser(@RequestBody BaseInputDto<IdInputDto> inputDto, @RequestHeader("maijiToken")String maijiToken);

    /**
     * 获取关注人列表
     * @param inputDto
     * @param maijiToken
     * @return
     */
    public BaseOutPutDto<List<UserInfoResData>>focuserList(@RequestBody BaseInputDto<ComUserRelationInputDto> inputDto , @RequestHeader("maijiToken")String maijiToken);

    /**
     * 用户粉丝列表
     * @param inputDto
     * @param maijiToken
     * @return
     */
    public BaseOutPutDto<List<UserInfoResData>>followerList(@RequestBody BaseInputDto<ComUserRelationInputDto> inputDto , @RequestHeader("maijiToken")String maijiToken);
    
    //根据用户ID查看是否关注
	public BaseOutPutDto<Boolean> isFocusUser(String userId, String maijiToken);

}
